The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description which may not otherwise qualify as prior art at the time of filing, are neither expressly or impliedly admitted as prior art against the present disclosure.
Some multiple input, multiple output (MIMO) wireless communication systems can estimate channel conditions, or gains, in the communication path between the transmitting and receiving antennas. The channel estimation process can include transmitting known training symbols, receiving the known training symbols, and processing the received symbols to estimate the channel conditions. The estimation is based on differences between the known training symbols and the received symbols. Information regarding the channel conditions can then be used to program coefficients of an equalizer of the receiver. The equalizer then compensates for the channel conditions.
Referring now to FIG. 1, an example is shown of a MIMO communication system 10 that complies with the Institute of Electrical and Electronics Engineers (IEEE) 802.11n specification, which is hereby incorporated by reference in its entirety. A transmitter module 12 communicates with a receiver module 14 via a wireless communication channel 16. A matrix H represents signal gains through channel 16.
Transmitter module 12 periodically generates a plurality of long training fields (LTFs) 18-1, . . . , 18-j, referred to collectively as LTFs 18. Each LTF 18 includes a plurality of training symbols 20-1, . . . , 20-k, referred to collectively as training symbols 20. A multiplier module 22 multiplies each training symbol 20 by a corresponding column of a preamble steering matrix P. A number of rows n of matrix P corresponds with a number of transmit antennas 26-1, . . . , 26-n, collectively referred to as antennas 26. The number of columns j of matrix P corresponds with the number of LTFs 18. Matrix P assures the orthogonality of training symbols 20 as they are transmitted from antennas 26. Matrix P has a condition number of 1, i.e. cond(P)=1.
Receiver module 14 includes receiver antennas 30-1, . . . , 30-n, collectively referred to as antennas 30, that receive the training symbols via channel 16. After receiving all of the training symbols, receiver module 14 generates matrix H based on known training symbols 20, matrix P, and the received training symbols. Receiver module 14 can then use matrix H to adjust coefficients of an internal equalization module for signals from antennas 30. It is generally desirable for receiver module 14 to generate matrix H as quickly as possible.
A sample estimation of matrix H will now be described. Assume that n=3 and j=4. Transmitter module 12 then sends 4 LTFs 18 and matrix P is a 3×4 matrix
  P  =            [                                    1                                              -              1                                            1                                1                                                1                                1                                              -              1                                            1                                                1                                1                                1                                              -              1                                                                          -              1                                            1                                1                                1                              ]        .  
The effective MIMO channel estimated at receiver module 14 is given by Hest=HPH=HestP−1, where Hest represents an estimation of matrix H. For the data associated with each LTF 18 the transmitter-to-receiver communication model can be described by y=HestP−1x+n, where x represents transmitted data symbols. The ZF solution is applied to the matrix HestP−1.
If the matrix P were not used, y=Hx+n{circumflex over (x)}=R−1Q*y, where y represents received data symbols. With matrix P, y=HestP−1x+n. Receiver module 14 uses each LTF 18 to estimate a column of matrix Hest. Matrix H can therefore be estimated by waiting until all columns have been estimated and then estimating the matrix HestP−1. Receiver module 14 can then perform orthogonal-triangular decomposition (QR) on HestP−1, i.e QR(HestP−1). However, the computational density increases to the order of n3, i.e. O(n3). To meet the processing latency the hardware burden would also increase based on O(n3).
The effect of matrix P will now be described to shed light on the above equations. Let Hest=QR. Without matrix P the equalized vector is given by
                    x        ^            =                        1                      diag            ⁡                          (                                                R                                      -                    1                                                  ⁢                                  R                                      -                    *                                                              )                                      ⁢                  R                      -            1                          ⁢                  Q          *                ⁢        y              ,                  ⁢    where              W                                    =                  1                  diag          ⁡                      (                                          R                                  -                  1                                            ⁢                              R                                  -                  *                                                      )                              .      With matrix P the equalized vector is given by:
                    x        ^            =                        1                      diag            ⁡                          (                                                                    (                                          RP                                              -                        1                                                              )                                                        -                    1                                                  ⁢                                                      (                                          RP                                              -                        1                                                              )                                                        -                    *                                                              )                                      ⁢                  PR                      -            1                          ⁢                  Q          *                ⁢        y              ,                  ⁢    where              W                                    =                  1                  diag          ⁡                      (                                                            (                                      RP                                          -                      1                                                        )                                                  -                  1                                            ⁢                                                (                                      RP                                          -                      1                                                        )                                                  -                  *                                                      )                              .      The equivalent matrix RP−1 is a full matrix and it is difficult to compute its inverse for an n×n communication system.